/*****************************************************************************
 * Copyright (C) Stacy Curl. All rights reserved.                            *
 * ------------------------------------------------------------------------- *
 * The software in this package is published under the terms of the BSD      *
 * style license a copy of which has been included with this distribution in *
 * the LICENSE.txt file.                                                     *
 *****************************************************************************/
package picounit.features.configuration;

import picounit.Configuration;
import picounit.features.aggregate_exception.AggregatingThrower;
import picounit.features.coverage_measuring.CoverageConfiguration;

class DefaultConfiguration implements Configuration {
	private final AggregatingThrower aggregatingThrower;
	private final CoverageConfiguration coverageConfiguration;

	public DefaultConfiguration(AggregatingThrower aggregatingThrower,
		CoverageConfiguration coverageConfiguration) {

		this.aggregatingThrower = aggregatingThrower;
		this.coverageConfiguration = coverageConfiguration;
	}

	public void setFailureThreshold(int threshold) {
		aggregatingThrower.setThreshold(threshold);
	}

	public void useImplicitMockVerification() {
	}

	public void useImplicitMockVerification(Class fixtureMarker) {
		useImplicitMockVerification(new Class[] {fixtureMarker});
	}

	public void useImplicitMockVerification(Class ... fixtureMarkers) {
	}

	// TODO: Fail ignored tests
	public void failIgnoredTests() {
	}

	// TODO: Pass ignored tests
	public void passIgnoredTests() {
	}

	public void disableCoverage() {
		coverageConfiguration.disableCoverage();
	}

	public void enableCoverage() {
		coverageConfiguration.enableCoverage();
	}
}